home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 2 / 64er_Magazin_Sonderheft_02_86-02_1986_Markt__Technik_de.d64 / listing 8 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  120 lines

  1. 1000 rem *** ein sprite-jagd ***
  2. 1010 :
  3. 1020 :
  4. 1030 rem ** ausgabe programmeldung
  5. 1040 :
  6. 1050 print "[147]bitte warten";
  7. 1060 :
  8. 1070 :
  9. 1080 rem ** sprite-daten laden
  10. 1090 :
  11. 1100 for n = 896 to 958   :rem 1.sprite
  12. 1105 :   read spdta
  13. 1110 :   poke n, spdta
  14. 1130 next n
  15. 1140 print". ";           :rem pktausgb
  16. 1150 :
  17. 1160 for n = 960 to 1022  :rem 2.sprite
  18. 1165 :   read spdta
  19. 1170 :   poke n, spdta
  20. 1190 next n
  21. 1200 print". ";           :rem pktausgb
  22. 1210 :
  23. 1220 data   0, 28,  0,  0, 62,  0
  24. 1230 data   0, 62,  0,  0, 62,  0
  25. 1240 data   0, 28,  0,  0,  8,  0
  26. 1250 data   0,255,128,  0,255,128
  27. 1260 data   0,190,128,  0,156,128
  28. 1270 data   0,136,128,  0,190,128
  29. 1280 data   0,190,128,  1,156,192
  30. 1290 data   1,148,192,  0, 20,  0
  31. 1300 data   0, 20,  0,  0, 20,  0
  32. 1310 data   0, 54,  0,  0,119,  0
  33. 1320 data   0,119,  0
  34. 1330 :
  35. 1340 data   0, 28,  0,  0, 62,  0
  36. 1350 data   0, 62,  0,  0,127,  0
  37. 1360 data   0, 93,  0,  0,  8,  0
  38. 1370 data   0,127,  0,  0,127,  0
  39. 1380 data   0, 93,  0,  0, 73,  0
  40. 1390 data   0, 93,  0,  0,127,  0
  41. 1400 data   0,255,128,  0, 62,  0
  42. 1410 data   0, 62,  0,  0, 20,  0
  43. 1420 data   0, 20,  0,  0, 20,  0
  44. 1430 data   0, 20,  0,  0, 54,  0
  45. 1440 data   0,119,  0
  46. 1450 :
  47. 1460 :
  48. 1470 rem ** sprite-register vorbereiten
  49. 1480 :
  50. 1490 print "[147]"      :rem schirm loesch.
  51. 1500 vic = 53248    :rem grafikbaustein
  52. 1510 :
  53. 1520 poke 2040,14   :rem datenzeiger 0
  54. 1530 poke 2041,15   :rem datenzeiger 1
  55. 1540 :
  56. 1550 poke vic,110   :rem horzntl.pos. 0
  57. 1560 poke vic+2,210 :rem horzntl.pos. 1
  58. 1570 poke vic+1,79  :rem vertkal.pos. 0
  59. 1580 poke vic+3,179 :rem vertkal.pos. 1
  60. 1590 :
  61. 1600 poke vic+39,3  :rem 0 ist hellblau
  62. 1610 poke vic+40,7  :rem 1 ist gelb
  63. 1620 :
  64. 1630 poke vic+23,3  :rem beide sprites
  65. 1640 poke vic+29,3  :rem dopp. groesse
  66. 1650 :
  67. 1660 poke vic+21,3  :rem beide sichtb.
  68. 1662 :
  69. 1664 :
  70. 1666 rem ** sprite-bewegung vorbereiten
  71. 1667 :
  72. 1668 d0 = 1 : d1 = -1
  73. 1670 :
  74. 1672 :
  75. 1674 rem ** vertikale bewegung
  76. 1676 :
  77. 1678 for move = 1 to 100
  78. 1680 :   poke vic+1, peek(vic+1) + d0
  79. 1682 :   poke vic+3, peek(vic+3) + d1
  80. 1684 :   get kp$
  81. 1686 :   if kp$ = "" then 1690
  82. 1688 :      move=100 : keypress = -1
  83. 1690 next move
  84. 1692 :
  85. 1694 :
  86. 1696 rem ** bei tastendruck abbrechen
  87. 1698 :
  88. 1700 if keypress then 1750
  89. 1702 :
  90. 1704 :
  91. 1706 rem ** horizontale bewegung
  92. 1708 :
  93. 1710 for move = 1 to 100
  94. 1712 :   poke vic, peek(vic) + d0
  95. 1714 :   poke vic+2, peek(vic+2) + d1
  96. 1716 :   get kp$
  97. 1718 :   if kp$ = "" then 1722
  98. 1720 :      move=100 : keypress = -1
  99. 1722 next move
  100. 1724 :
  101. 1726 :
  102. 1728 rem ** bei tastendruck abbrechen
  103. 1730 :
  104. 1732 if keypress then 1750
  105. 1734 :
  106. 1736 :
  107. 1738 rem ** richtung umgekehrt und los
  108. 1740 :
  109. 1742 d0 = -d0 : d1 = -d1
  110. 1744 goto 1670
  111. 1746 :
  112. 1748 :
  113. 1750 rem ** ruecksetzen des registers
  114. 1760 :
  115. 1770 poke vic+21,0  :rem sprites aus
  116. 1780 poke vic+29,0  :rem und wieder
  117. 1790 poke vic+23,0  :rem normalgroesse
  118. 1800 :
  119. 1810 end
  120.